#pragma once

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

struct Contact
{
	char name[20];//姓名
	int age;//年龄
	char sex[5];//性别
	char phonenumber[11];//手机号
	char address[30];//家庭住址
};

typedef struct Contact Datatype;

typedef struct SingleListNode
{
	Datatype data;
	struct SingleListNode* next;
}SingleListNode;

//链表的打印
void SingleListPrint(SingleListNode* phead);

//尾插
void SingleListPushBack(SingleListNode** pphead,Datatype x);

//头插
void SingleListPushFront(SingleListNode** pphead,Datatype x);

//尾删
void SingleListDeleteBack(SingleListNode** pphead);

//头删
void SingleListDeleteFront(SingleListNode** pphead);

////查找
//SingleListNode* SingleListFind(SingleListNode* phead,Datatype x);

//在指定位置之前插入数据
void SingleListInsertFront(SingleListNode** pphead,SingleListNode* designate, Datatype x);

//在指定位置之后插入数据
void SingleListInsertBack(SingleListNode* designate, Datatype x);

//删除pos节点
void SingleListDeletePos(SingleListNode** pphead,SingleListNode* pos);

//删除pos节点之后的节点
void SingleListDeletePosBack(SingleListNode* pos);

//销毁链表
void SingleListDestory(SingleListNode** pphead);


//添加联系人
void PushPeople();